package team.hyznrj.studentsys.entity;

import java.util.List;

import org.springframework.util.StringUtils;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import team.hyznrj.studentsys.exception.DataIllegalException;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
/**
 * 生成Excel表条件类
 * 如果SNO（学号）不为空，则按学号方式批量生成
 * 如果SNO（学号）为空，则按学院进行匹配
 * 班级不为空，则在学院之下按班级匹配
 * @author 郑泽锋
 * @date 2018年5月2日
 */
public class WriteExcelConditionEntity {
	/**
	 * 用户标志
	 */
	private String flag;
	/**
	 * 学年
	 */
	private String academyYear;
	/**
	 * 学期(1和2)
	 */
	private Integer item;
	/**
	 * 学院
	 */
	private String academy;
	/**
	 * 班级(多个班级用#隔开)
	 * eg:软件1151#软件1152... etc.
	 */
	private String clas;
	/**
	 * [数组]系统自动生成的编号
	 */
	private List<String> ids;
	/***
	 * 数据有效性检查
	 */
	public void check(){
		/**
		 * 数据有效性检查
		 */
		if (this == null || StringUtils.isEmpty(this.getFlag())) {
			throw new DataIllegalException("数据不合法");
		}
		/**
		 * 数据有效性检查，条件:学号不为空
		 */
		if ((this.getIds() == null || this.getIds().size() <= 0)) {
			throw new DataIllegalException("学号不能为空");
		}
	}
}
